package com.bestcem.xm.ticket.grpc.client.enums;

import lombok.Getter;

/**
 * 用来列排序
 *
 * @author zq.ding <zq.ding@idiaoyan.com>
 * @version v1.0
 * @date 2021/8/27 14:57
 */
@Getter
public enum ColumnCtypeEnum {

    /**
     * 前半部分元数据字段
     */
    COLUMN_CTYPE_META_FRONT("前半部分元数据字段", 0),

    /**
     * 问题字段
     */
    COLUMN_CTYPE_QUESTION("问题字段", 1),

    /**
     * 后半部分元数据
     */
    COLUMN_CTYPE_META_BEHIND("后半部分元数据", 2),

    /**
     * 联系人字段
     */
    COLUMN_CTYPE_MEMBER("联系人字段", 3),

    /**
     * 自定义字段
     */
    COLUMN_CTYPE_CUSTOM("自定义字段", 4),

    /**
     * 外部数据字段
     */
    COLUMN_CTYPE_EXTERNAL("外部数据字段", 5),

    /**
     * 总分
     */
    COLUMN_CTYPE_SCORE("总分", 6);

    private final String name;
    private final Integer index;

    ColumnCtypeEnum(String name, Integer index) {
        this.name = name;
        this.index = index;
    }

    /**
     * 根据 index 获取枚举实体
     * 找不到则返回 null
     *
     * @param index 枚举index
     * @author zq.ding <zq.ding@idiaoyan.com>
     * @date 2021/8/31 13:35
     */
    public static ColumnCtypeEnum getByIndex(Integer index) {
        for (ColumnCtypeEnum value : values()) {
            if (value.getIndex().equals(index)) {
                return value;
            }
        }
        return null;
    }
}
